home *** CD-ROM | disk | FTP | other *** search
/ Mac Mania 4 / MacMania 4.toast / / Demo's / Igor Demo Pro / 3 PutContentsIn Igor Pro Folder / Technical Notes / Igor Tech Notes / TN026 Voigt Profile / New Voigt TEXT next >
Text File  |  1993-04-06  |  796b  |  28 lines

  1.  
  2. Function Voigt(X,Y)
  3.     variable X,Y
  4.  
  5.     variable/C W,U,T= cmplx(Y,-X)
  6.     variable S =abs(X)+Y
  7.  
  8.     if( S >= 15 )                                |        Region I
  9.         W= T*0.5641896/(0.5+T*T)
  10.     else
  11.         if( S >= 5.5 )                             |        Region II
  12.             U= T*T
  13.             W= T*(1.410474+U*0.5641896)/(0.75+U*(3+U))
  14.         else
  15.             if( Y >= (0.195*ABS(X)-0.176) )     |        Region III
  16.                 W= (16.4955+T*(20.20933+T*(11.96482+T*(3.778987+T*0.5642236))))
  17.                 W /= (16.4955+T*(38.82363+T*(39.27121+T*(21.69274+T*(6.699398+T)))))
  18.             else                                    |        Region IV
  19.                 U= T*T
  20.                 W= T*(36183.31-U*(3321.9905-U*(1540.787-U*(219.0313-U*(35.76683-U*(1.320522-U*0.56419))))))
  21.                 W /= (32066.6-U*(24322.84-U*(9022.228-U*(2186.181-U*(364.2191-U*(61.57037-U*(1.841439-U)))))))
  22.                 W= cmplx(exp(real(U))*cos(imag(U)),0)-W
  23.             endif
  24.         endif
  25.     endif
  26.     return real(W)
  27. end
  28.